package com.kingyun.gpsinspection.purificationservice.facade.service.jsm.workCellDataSet;

import com.alibaba.fastjson.JSONObject;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.CellDataSet;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.CellDataSetVo;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.EmployeeVo;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.Version;

import java.math.BigDecimal;

/**
 * Created by jiangjx on 2017/1/11.
 * WWP_REPORT_TEMP 绑定报表模板
 */
public interface JsmIWorkCellDataSetService {

    /**
     * 加载表格数据
     * cellDataSet 操作单元选择分类
     * @return
     */
    JSONObject loadWorkCellDataSetTable(CellDataSet cellDataSet) throws Exception;

    /**
     * 加载新增页面列表
     * @param cellDataSet 根据选择的内容加载关联数据集
     * @return
     */
    JSONObject loadWorkCellDataSetAddTable(CellDataSet cellDataSet) throws Exception;

    /**
     * 保存关联数据
     * @param cellDataSetVo 新增数据封装类
     * @return
     */
    Integer saveWorkCellDataSet(CellDataSetVo cellDataSetVo, EmployeeVo employee) throws Exception;

    /**
     * 删除关联数据
     *
     * @param ids 主键id
     */
    void delWorkCellDataSet(String ids, EmployeeVo employee) throws Exception;


    /**
     * 操作单元 或者 一站一案
     * 数据集配置版本复制成新的版本
     * @param version 当前新增版本信息
     * @param isWorkCell  是否是操作单元 或者 一站一案
     * @oldVersion 当前操作单元  或者 一站一案在用版本号
     */
    void cloneDataSet(Version version, boolean isWorkCell, BigDecimal oldVersion, EmployeeVo employee);
}
